package com.ly.mpayment.persist.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;


/**
 * DownOrderRefund entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name="downorderrefund"

)

public class DownOrderRefund  implements java.io.Serializable {


    // Fields

     private String downrefunduuid;
     private DownRechargeGame downRechargeGame;
     private DownRechargeFlow downRechargeFlow;
     private User user;
     private Date downrefundtime;
     private BigDecimal downrefundamount;
     private String downrefundstatus;
     private BigDecimal balance;

    // Constructors

    /** default constructor */
    public DownOrderRefund() {
    }


    /** full constructor */
    public DownOrderRefund(DownRechargeGame downRechargeGame, DownRechargeFlow downRechargeFlow, User user, Date downrefundtime, BigDecimal downrefundamount, String downrefundstatus) {
        this.downRechargeGame = downRechargeGame;
        this.downRechargeFlow = downRechargeFlow;
        this.user = user;
        this.downrefundtime = downrefundtime;
        this.downrefundamount = downrefundamount;
        this.downrefundstatus = downrefundstatus;
    }


    // Property accessors
    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid")
    @Column(name="downrefunduuid", unique=true, nullable=false, length=40)

    public String getDownrefunduuid() {
        return this.downrefunduuid;
    }

    public void setDownrefunduuid(String downrefunduuid) {
        this.downrefunduuid = downrefunduuid;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="downgameuuid")

    public DownRechargeGame getDownRechargeGame() {
        return this.downRechargeGame;
    }

    public void setDownRechargeGame(DownRechargeGame downRechargeGame) {
        this.downRechargeGame = downRechargeGame;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="downorderuuid")

    public DownRechargeFlow getDownRechargeFlow() {
        return this.downRechargeFlow;
    }

    public void setDownRechargeFlow(DownRechargeFlow downRechargeFlow) {
        this.downRechargeFlow = downRechargeFlow;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="useruuid")

    public User getUser() {
        return this.user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    @Column(name="downrefundtime", length=19)

    public Date getDownrefundtime() {
        return this.downrefundtime;
    }

    public void setDownrefundtime(Date downrefundtime) {
        this.downrefundtime = downrefundtime;
    }

    @Column(name="downrefundamount", precision=28, scale=5)

    public BigDecimal getDownrefundamount() {
        return this.downrefundamount;
    }

    public void setDownrefundamount(BigDecimal downrefundamount) {
        this.downrefundamount = downrefundamount;
    }

    @Column(name="downrefundstatus", length=40)

    public String getDownrefundstatus() {
        return this.downrefundstatus;
    }

    public void setDownrefundstatus(String downrefundstatus) {
        this.downrefundstatus = downrefundstatus;
    }



    @Column(name="balance", precision=28, scale=5)
    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }






}
